home *** CD-ROM | disk | FTP | other *** search
/ CICA 1994 April / CICA Shareware for Windows CD-ROM (Walnut Creek CD-ROM)(April 1994).ISO / win3 / nt / wavlan.exe / OEMSETNT.INF < prev    next >
INI File  |  1993-09-07  |  30KB  |  898 lines

  1. [Identification]
  2.     OptionType = NetAdapter
  3.  
  4. [PlatformsSupported]
  5.     ISA
  6.     EISA
  7.     "Jazz-Internal Bus"
  8.     MCA
  9.  
  10. [FileConstants]
  11.     UtilityInf              = "UTILITY.INF"
  12.     SubRoutineInf           = "SUBROUTN.INF"
  13.     ParamInf                = "NCPARAM.INF"
  14.     SoftwareType            = "driver"
  15.     Exit_Code               = 0
  16.     NetEventDLL             = "%SystemRoot%\System32\netevent.dll"
  17.     IoLogMsgDLL             = "%SystemRoot%\System32\IoLogMsg.dll"
  18.     Manufacturer            = "Microsoft"
  19.     ProductMajorVersion     = "3"
  20.     ProductMinorVersion     = "1"
  21.     ProductVersion          = $(ProductMajorVersion)"."$(ProductMinorVersion)
  22.     ProductSoftwareName     = "WaveLAN"
  23.     ProductSoftwareTitle    = "WaveLAN Adapter Driver"
  24.     ProductSoftwarePath        = "\SystemRoot\System32\drivers\WaveLAN.sys"
  25.     NetRuleSoftwareType     = "WaveLANSys ndisDriver WaveLANDriver"
  26.     NetRuleSoftwareUse      = $(SoftwareType)
  27.     NetRuleSoftwareBindForm = """WaveLANSys"" yes no container"
  28.     NetRuleSoftwareClass    = {"WaveLANDriver basic"}
  29.     NetRuleSoftwareBindable = {"WaveLANDriver WaveLANAdapter non exclusive 100"}
  30.     ProductHardwareName     = "WaveLAN"
  31.     ProductHardwareTitle    = "WaveLAN Adapter"
  32.     NetRuleHardwareType     = "WaveLAN WaveLANAdapter"
  33.     NetRuleHardwareBindForm = " yes yes container"
  34.     NetRuleHardwareClass    = {"WaveLANAdapter basic"}
  35.     ProductKeyName          = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
  36.     ParamKeyName            = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
  37.  
  38. [GeneralConstants]
  39.     from                      = ""
  40.     to                        = ""
  41.     ExitCodeOk                 = 0
  42.     ExitCodeCancel             = 1
  43.     ExitCodeFatal              = 2
  44.     KeyNull                 = ""
  45.     MAXIMUM_ALLOWED           = 33554432
  46.     RegistryErrorIndex         = NO_ERROR
  47.     KeyProduct              = ""
  48.     KeyParameters           = ""
  49.     TRUE                    = 1
  50.     FALSE                   = 0
  51.     NoTitle                    = 0
  52.     ExitState               = "Active"
  53.     OldVersionExisted         = $(FALSE)
  54.     DriverPath              = $(!STF_NTPATH)\drivers
  55.  
  56. [Date]
  57.     Now                     = {} ? $(!LIBHANDLE) GetSystemDate
  58.  
  59. [Identify]
  60.     Read-Syms Identification
  61.     Set Status                 = STATUS_SUCCESSFUL
  62.     Set Identifier             = $(OptionType)
  63.     Set Media                  = #("Source Media Descriptions", 1, 1)
  64.     Return $(Status) $(Identifier) $(Media)
  65.  
  66. [ReturnOptions]
  67.     Set Status                 = STATUS_FAILED
  68.     Set OptionList             = {}
  69.     Set OptionTextList         = {}
  70.     Set LanguageList         = ^(LanguagesSupported, 1)
  71.     IfContains(i) $($0) in $(LanguageList)
  72.         IfStr(i) $($1) == ""
  73.             Goto returnOptions
  74.         EndIf
  75.         Set PlatformList    = ^(PlatformsSupported, 1)
  76.         IfContains(i) $($1) in $(PlatformList)
  77.             Goto returnOptions
  78.         Else
  79.             Set Status = STATUS_NOTSUPPORTED
  80.             Goto finish_ReturnOptions
  81.         EndIf
  82.     Else
  83.         Set Status = STATUS_NOLANGUAGE
  84.         Goto finish_ReturnOptions
  85.     EndIf
  86. returnOptions = +
  87.     Set OptionList             = ^(Options, 1)
  88.     Set OptionTextList         = ^(OptionsText$($0), 1)
  89.     Set Status                 = STATUS_SUCCESSFUL
  90. finish_ReturnOptions = +
  91.     Return $(Status) $(OptionList) $(OptionTextList)
  92.  
  93. [InstallOption]
  94.     Set Option               = $($1)
  95.     Set SrcDir               = $($2)
  96.     Set AddCopy              = $($3)
  97.     Set DoCopy               = $($4)
  98.     Set DoConfig             = $($5)
  99.     Set LanguageList        = ^(LanguagesSupported, 1)
  100.     IfContains(i) $($0) NOT-IN $(LanguageList)
  101.         Return STATUS_NOLANGUAGE
  102.     EndIf
  103. ; FIXME
  104.     Set !DebugOutputControl    = 1
  105.     Debug-Output "WaveLAN: STF_CWDIR    = "$(!STF_CWDIR)
  106.     Debug-Output "WaveLAN: STF_LANGUAGE = "$(!STF_LANGUAGE)
  107.     Set-Subst LF = "\n"
  108.     Read-Syms GeneralConstants
  109.     Read-Syms FileConstants
  110.     Read-Syms DialogConstants$(!STF_LANGUAGE)
  111.     IfStr(i) $(!NTN_Origination) == "NCPA"
  112.         Set Continue = "OK"
  113.     EndIf
  114.     Read-Syms FileConstants$(!STF_LANGUAGE)
  115.     Detect Date
  116.     Set-Title  $(FunctionTitle)
  117.     Set to   = Begin
  118.     Set from = Begin
  119.     Set CommonStatus = STATUS_SUCCESSFUL
  120.     EndWait
  121. Begin = +
  122.     Set ActivateDetection = FALSE
  123.     IfStr(i)      $(!NTN_InstallMode) == Deinstall
  124.         Set StartLabel = RemoveAdapter
  125.     Else-IfStr(i) $(!NTN_InstallMode) == Update
  126.         Set StartLabel = UpgradeSoftware
  127.     Else-IfStr(i) $(!NTN_InstallMode) == Bind
  128.         Set StartLabel = BindingAdapter
  129.     Else-IfStr(i) $(!NTN_InstallMode) == Configure
  130.         Set StartLabel = ConfigureAdapter
  131. ;        Set ActivateDetection = TRUE
  132.         IfStr(i) $(ProductKeyName) == $(!NTN_RegBase)
  133.             Debug-Output "WaveLAN: ProductKeyName="$(ProductKeyName)
  134.             Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  135.             IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  136.                 Debug-Output "WaveLAN:ShellCode: RegistryErrorString: "$($ShellCode)
  137.                 Goto ShellCodeError
  138.             EndIf
  139.             Set Error = $($R0)
  140.             Set from = end
  141.             Set to = end
  142.             Goto nonFatalInfo
  143.         EndIf
  144.     Else
  145. ;        Set ActivateDetection = TRUE
  146.         Set StartLabel = InstallAdapter
  147.         Set OEM_ABANDON_OPTIONS = {}
  148.         Set OEM_ABANDON_SOFTWARE = FALSE
  149.         Set OEM_ABANDON_ON = TRUE
  150.     EndIf
  151.     Debug-Output "WaveLAN: =================================================="
  152.     Debug-Output "WaveLAN: Option        = "$(Option)
  153.     Debug-Output "WaveLAN: STF_CWDIR     = "$(!STF_CWDIR)
  154.     Debug-Output "WaveLAN: STF_LANGUAGE  = "$(!STF_LANGUAGE)
  155.     Debug-Output "WaveLAN: STF_NCDETECT  = "$(!STF_NCDETECT)
  156.     Debug-Output "WaveLAN: STF_NCOPTION  = "$(!STF_NCOPTION)
  157.     Debug-Output "WaveLAN: STF_NCDETCARD = "$(!STF_NCDETCARD)
  158.     Debug-Output "WaveLAN: STF_NCDETINFO = "$(!STF_NCDETINFO)
  159.     Debug-Output "WaveLAN: =================================================="
  160. ; FIXME
  161.     Set DebugFlags                        = 1
  162.     Set MaxTransmits                    = 1
  163.     IfStr(i) $(Option) == WAVELAN_ISA
  164.         Set BoardType                    = 1
  165.     Else
  166.         Set BoardType                    = 3
  167.     EndIf
  168.     Set DetectedCard                    = FALSE
  169.     Set ActivateDetection                = FALSE
  170.     IfStr(i) $(ActivateDetection) != TRUE
  171.         IfInt $(BoardType) == 1
  172. ;;;            WAVELAN_ISA
  173.             Debug-Output "WaveLAN: ISA"
  174.             Set IOAddrList                = {768,912,960,992}
  175.             Set IOAddrValue                = 768
  176.             Set    Combo1Label             = "I/O &Port Address:"
  177.             
  178.             Shell $(ParamInf) HexListFromDecList $(IOAddrList)
  179.             Set IOAddrHexList            = $($R0)
  180.         Else
  181. ;;;            WAVELAN_MCA
  182.             Debug-Output "WaveLAN: MCA"
  183.             Set IOAddrList                = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
  184.             Set IOAddrValue                = 1
  185.             Set    Combo1Label             = "MCA &Slot:"
  186.             Shell $(ParamInf) HexListFromDecList $(IOAddrList)
  187.             Set IOAddrHexList            = $($R0)
  188.         EndIf
  189.         Goto $(StartLabel)
  190.     EndIf
  191.     Set TypeList = {{IOADDR, IOAddrList, IOAddrValue}}
  192.     Debug-Output "WaveLAN: Calling Param_BuildTypeLists"
  193.     Shell $(ParamInf) Param_BuildTypeLists $(Option) $(TypeList)
  194.     IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  195.         Debug-Output "WaveLAN: Cannot run Param_BuildTypeLists"
  196.         Goto ShellCodeError
  197.     EndIf
  198.     Set Status = $($R0)
  199.     IfStr(i) $(Status) != STATUS_SUCCESSFUL
  200.         Debug-Output "WaveLAN: Param_BuildTypeLists ERROR="$(Status)
  201.         Goto fatalDetect
  202.     EndIf
  203.     Debug-Output "WaveLAN: Calling Param_SetDefaults"
  204.     Shell $(ParamInf) Param_SetDefaults {}
  205.     Shell $(ParamInf) HexListFromDecList $(IOAddrList)
  206.     Set IOAddrHexList = $($R0)
  207.     IfStr(i) $(!STF_NCDETECT) == YES
  208.         IfStr(i) $(!STF_NCOPTION) == $(Option)
  209.             Set DetectedCard = TRUE
  210.             Debug-Output "WaveLAN: Setting DetectedCard = TRUE"
  211.         EndIf
  212.     EndIf
  213.     Shell "" DebugConfiguration "After Parameter Query"
  214.     Set from = $(fatal)
  215.     Set to = $(fatal)
  216.     Goto $(StartLabel)
  217. InstallAdapter = +
  218.     Debug-Output "WaveLAN: InstallAdapter"
  219.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  220.     IfStr $(KeyProduct) != $(KeyNull)
  221.         CloseRegKey $(KeyProduct)
  222.         IfStr(i) !(NTN_RegBase) == $(ProductKeyName)
  223.             Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
  224.                 $(ProductVersion)
  225.             IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  226.                 Debug-Output "WaveLAN: Cannot run VerExistedDlg"
  227.                 Goto ShellCodeError
  228.             EndIf
  229.             Debug-Output "WaveLAN: Adapter already installed"
  230.             Goto end
  231.         Else
  232.             Shell $(UtilityInf), CardExistedDlg
  233.             IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  234.                 Debug-Output "WaveLAN: Cannot run CardExistedDlg"
  235.                 Goto ShellCodeError
  236.             EndIf
  237.             IfStr(i) $($R1) != "OK"
  238.                 Goto end
  239.             EndIf
  240.             Set OldVersionExisted = $(TRUE)
  241.         EndIf
  242.     EndIf
  243.     IfStr(i) $(DetectedCard) != TRUE
  244.         Goto adapterSetup
  245.     EndIf
  246.     StartWait
  247.     Shell $(ParamInf) Param_QueryCard $(!STF_NCDETCARD)
  248.     EndWait
  249.     IfStr(i) $($R0) != STATUS_SUCCESSFUL
  250.         Goto adapterSetup
  251.     EndIf
  252.     Set DetectedParams = $($R1)
  253.     Debug-Output "WaveLAN: Calling Param_SetDefaults to merge detected params"
  254.     Shell $(ParamInf) Param_SetDefaults $(DetectedParams)
  255.     Goto adapterSetup
  256. ConfigureAdapter = +
  257.     Debug-Output "WaveLAN: ConfigureAdapter"
  258. ;    IfInt $(BoardType) == 3
  259. ;        Set Error =  "WaveLAN: ISA adapter cannot be configured."
  260. ;        Debug-Output $(Error)
  261. ;        Goto successful
  262. ;    EndIf
  263.     IfStr $(KeyProduct) == $(KeyNull)
  264.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
  265.         IfStr $(KeyProduct) == $(KeyNull)
  266.             Set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  267.             Debug-Output "WaveLAN: Cannot find component product key."
  268.             Goto fatalRegistry
  269.         EndIf
  270.     EndIf
  271.     Debug-Output "WaveLAN: Calling FindService"
  272.     Shell $(UtilityInf) FindService, $(KeyProduct)
  273.     IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  274.         Debug-Output "WaveLAN: Cannot run FindService"
  275.         Goto ShellCodeError
  276.     EndIf
  277.     IfStr(i) $($R0) != NO_ERROR
  278.         Debug-Output "WaveLAN: FindService ERROR="$($R0)
  279.         Goto fatalRegistry
  280.     EndIf
  281.     Set KeyParameters = $($R2)
  282.     CloseRegKey $($R1)
  283.     IfStr $(KeyParameters) == $(KeyNull)
  284.         Set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  285.         Debug-Output "WaveLAN: Cannot find component service"
  286.         Goto fatalRegistry
  287.     EndIf
  288.     Set OldVersionExisted = $(TRUE)
  289.     Set ValueName = ""
  290.     Set ValueData = ""
  291.     Set ValueStr  = ""
  292.     Set ValueList = {}
  293.     EnumRegValue $(KeyParameters) ValueList
  294.     ForListDo $(ValueList)
  295.         Set ValueItem = $($)
  296.         Set ValueName = *($(ValueItem),1)
  297.         Set ValueData = *($(ValueItem),4)
  298.         IfStr(i) $(ValueName) == "IOAddr"
  299.             Set IOAddrValue = $(ValueData)
  300.         EndIf
  301.     EndForListDo
  302. adapterSetup = +
  303.     Debug-Output "WaveLAN: adapterSetup"
  304. ;    IfInt $(BoardType) == 3
  305. ;        Goto skipOptions
  306. ;    EndIf
  307.     Shell "" DebugConfiguration "Before Dialog"
  308.     Set from = adapterOptions
  309.     Set IOAddrHexValue = *($(IOAddrHexList), ~($(IOAddrList),$(IOAddrValue)))
  310.     Shell $(ParamInf) Param_ParameterConfidence
  311.     IfStr(i) $($R0) != STATUS_SUCCESSFUL
  312.         Debug-Output "WaveLAN: Parameter confidence too low to bypass configuration"
  313.         Goto adapterOptions
  314.     EndIf
  315.     IfStr(i) $(DetectedCard) == TRUE
  316.         IfStr(i) $(!STF_INSTALL_MODE) != CUSTOM
  317.             Goto adapterVerify
  318.         EndIf
  319.     EndIf
  320. adapterOptions = +
  321.     Debug-Output "WaveLAN: adapterOptions"
  322.     Set from = adapterOptions
  323.     Read-Syms FileDependentDlg$(!STF_LANGUAGE)
  324.     UI Start "InputDlg"
  325.     IfStr(i) $(DLGEVENT) == "CONTINUE"
  326.         Set IOAddrHexValue = $(Combo1Out)
  327.         Set IOAddrValue = *($(IOAddrList), ~($(IOAddrHexList),$(IOAddrHexValue)))
  328.         UI Pop 1
  329.     Else-IfStr(i) $(DLGEVENT) == "BACK"
  330.         Set CommonStatus = STATUS_USERCANCEL
  331.         Debug-Output "WaveLAN: Action CANCEL"
  332.         UI Pop 1
  333.         Goto end
  334.     Else
  335.         UI Pop 1
  336.         Debug-Output "WaveLAN: Action UNKNOWN"
  337.         Goto end
  338.     EndIf
  339. adapterVerify = +
  340.     Shell "" DebugConfiguration "After Dialog"
  341.     IfStr(i) $(DetectedCard) != TRUE
  342.         Goto skipOptions
  343.     EndIf
  344.     Debug-Output "WaveLAN: Calling Param_VerifyCard"
  345.     Shell $(ParamInf) Param_VerifyCard $(!STF_NCDETCARD)
  346.     IfStr(i) $($R0) == STATUS_SUCCESSFUL
  347.         Debug-Output "WaveLAN: Param_VerifyCard succeeded"
  348.         Goto skipOptions
  349.     EndIf
  350.     Set from = adapterOptions
  351.     Set to = skipOptions
  352.     Shell $(UtilityInf),RegistryErrorString,VERIFY_WARNING
  353.     IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  354.         Debug-Output "WaveLAN: Cannot run RegistryErrorString"
  355.         Goto ShellCodeError
  356.     EndIf
  357.     Set Error = $($R0)
  358.     Goto Warning
  359. skipOptions = +
  360.     Debug-Output "WaveLAN: skipOptions"
  361.     IfInt $(OldVersionExisted) == $(TRUE)
  362.         IfStr(i) $(!NTN_InstallMode) == configure
  363.             Goto writeParameters
  364.         EndIf
  365.     EndIf
  366.     StartWait
  367.     IfInt $(OldVersionExisted) == $(FALSE)
  368.         IfStr(i) $(!NTN_InstallMode) == "install"
  369.             IfStr(i) $(DoCopy) == "YES"
  370.                 Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  371.                 IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  372.                     Goto ShellCodeError
  373.                 Else-IfStr(i) $($R0) == STATUS_FAILED
  374.                     Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  375.                     IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  376.                         Goto ShellCodeError
  377.                     EndIf
  378.                     Set Error = $($R0)
  379.                     Goto fatal
  380.                 Else-IfStr(i) $($R0) == STATUS_USERCANCEL
  381.                     Goto successful
  382.                 EndIf
  383.                 Set SrcDir = $($R1)
  384.             EndIf
  385.             install "Install-Option"
  386.             IfStr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  387.                 Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  388.                 IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  389.                     Goto ShellCodeError
  390.                 EndIf
  391.                 Set Error = $($R0)
  392.                 Goto fatal
  393.             EndIf
  394.         EndIf
  395.         Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
  396.             $(ProductSoftwareName), +
  397.             $(ProductSoftwareName), +
  398.             $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
  399.             $(ProductSoftwarePath), "kernel", "NDIS", {}, "",+
  400.             $(NetEventDLL)
  401.         Set OEM_ABANDON_SOFTWARE = TRUE
  402.         IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  403.             Debug-Output "WaveLAN: Cannot run AddSoftwareComponent"
  404.             Goto ShellCodeError
  405.         EndIf
  406.         Set RegistryErrorIndex = $($R0)
  407.         IfStr(i) $(RegistryErrorIndex) != NO_ERROR
  408.             EndWait
  409.             Debug-Output "WaveLAN: AddSoftwareComponent ERROR="$(RegistryErrorIndex)
  410.             CloseRegKey $($R1)
  411.             CloseRegKey $($R2)
  412.             CloseRegKey $($R3)
  413.             CloseRegKey $($R4)
  414.             CloseRegKey $($R5)
  415.             Goto fatalRegistry
  416.         EndIf
  417.         Set SoftProductKey      = $($R1)
  418.         Set SoftNetRuleKey      = $($R2)
  419.         Set SoftServiceKey      = $($R3)
  420.         Set SoftParameterKey    = $($R4)
  421.         Set SoftLinkageKey      = $($R5)
  422.         Set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  423.                             {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  424.                             {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  425.                             {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
  426.                             {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
  427.                             {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
  428.                             {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  429.         Shell  $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList)
  430.         IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  431.             Debug-Output "WaveLAN: Cannot run AddValueList: SoftProductKey"
  432.             Goto ShellCodeError
  433.         EndIf
  434.         Set RegistryErrorIndex = $($R0)
  435.         IfStr(i) $(RegistryErrorIndex) != NO_ERROR
  436.             EndWait
  437.             Debug-Output "WaveLAN: AddValueList ERROR="$(RegistryErrorIndex)
  438.             CloseRegKey $(SoftProductKey)
  439.             CloseRegKey $(SoftNetRuleKey)
  440.             CloseRegKey $(SoftServiceKey)
  441.             CloseRegKey $(SoftParameterKey)
  442.             CloseRegKey $(SoftLinkageKey)
  443.             Goto fatalRegistry
  444.         EndIf
  445.         Set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  446.                             {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
  447.                             {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
  448.                             {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
  449.                             {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
  450.                             {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  451.         Shell  $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
  452.         IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  453.             Debug-Output "WaveLAN: Cannot run AddValueList: SoftNetRuleKey"
  454.             Goto ShellCodeError
  455.         EndIf
  456.         Set RegistryErrorIndex = $($R0)
  457.         CloseRegKey $(SoftProductKey)
  458.         CloseRegKey $(SoftNetRuleKey)
  459.         CloseRegKey $(SoftServiceKey)
  460.         CloseRegKey $(SoftParameterKey)
  461.         CloseRegKey $(SoftLinkageKey)
  462.         IfStr(i) $(RegistryErrorIndex) != NO_ERROR
  463.             EndWait
  464.             Debug-Output "WaveLAN: AddValueList ERROR="$(RegistryErrorIndex)
  465.             Goto fatalRegistry
  466.         EndIf
  467.     EndIf
  468. doEachAdapter = +
  469.     IfInt $(BoardType) == 3
  470.         ForListDo $(AdapterList)
  471.             Set BusNum = *($($),1)
  472.             Set SlotNum = *($($),2)
  473.             Debug-Output "WaveLAN: doEachAdapter - BusNum="$(BusNum)" SlotNum="$(SlotNum)
  474.             Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(BusNum), +
  475.                 $(SlotNum), $(ProductHardwareDescription), $(ProductHardwareName)
  476.             IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  477.                 Debug-Output "WaveLAN: Cannot run IsNetCardAlreadyInstalled"
  478.                 Goto ShellCodeError
  479.             EndIf
  480.             IfStr $($R0) != "NO_ERROR"
  481.                 Debug-Output "WaveLAN: IsNetCardAlreadyInstalled ERROR="$($R0)
  482.                 Set Error = $($R0)
  483.                 Goto fatal
  484.             EndIf
  485.             IfStr(i) $($R1) != "YES"
  486.                 Debug-Output "WaveLAN: Calling doOneAdapter."
  487.                 goto doOneAdapter
  488. doNextAdapter = +
  489.                 Debug-Output "WaveLAN: Return from doOneAdapter."
  490.             EndIf
  491.         EndForListDo
  492.         Goto successful
  493.     EndIf
  494. doOneAdapter = +
  495.     Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
  496.     IfInt $($R4) != -1
  497.         Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  498.     EndIf
  499.     IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  500.         Debug-Output "WaveLAN:Cannot run AddHardwareComponent"
  501.         Goto ShellCodeError
  502.     EndIf
  503.     Set RegistryErrorIndex = $($R0)
  504.     IfStr(i) $(RegistryErrorIndex) != NO_ERROR
  505.         EndWait
  506.         Debug-Output "WaveLAN: AddHardwareComponent ERROR="$($R0)
  507.         CloseRegKey $($R1)
  508.         CloseRegKey $($R2)
  509.         CloseRegKey $($R3)
  510.         Goto fatalRegistry
  511.     EndIf
  512.     Set HardNetCardKey    = $($R1)
  513.     Set KeyAdapterRules = $($R2)
  514.     Set KeyParameters    = $($R3)
  515.     Set AdapterNumber    = $($R4)
  516.     Set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  517.                         {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardwareTitle)},+
  518.                         {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareDescription)},+
  519.                         {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
  520.                         {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  521.                         {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  522.     Shell  $(UtilityInf), AddValueList, $(HardNetCardKey), $(NewValueList)
  523.     IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  524.         Debug-Output "WaveLAN: Cannot run AddValueList: HardNetCardKey"
  525.         Goto ShellCodeError
  526.     EndIf
  527.     Shell $(UtilityInf), GetBusTypeNum
  528.     Set BusTypeNum = $($R1)
  529.     IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  530.         Debug-Output "WaveLAN: Cannot run GetBusTypeNum"
  531.         Goto ShellCodeError
  532.     EndIf
  533.     Set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
  534.     Set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  535.     Set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
  536.                         {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
  537.                         {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
  538.                         {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  539.     Shell  $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
  540.     IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  541.         Debug-Output "WaveLAN: Cannot run AddValueList: KeyAdapterRules"
  542.         Goto ShellCodeError
  543.     EndIf
  544.     Set RegistryErrorIndex = $($R0)
  545.     IfStr(i) $(RegistryErrorIndex) != NO_ERROR
  546.         EndWait
  547.         Debug-Output "WaveLAN: AddValueList: KeyAdapterRules ERROR="$(RegistryErrorIndex)
  548.         CloseRegKey $(KeyParameters)
  549.         CloseRegKey $(KeyAdapterRules)
  550.         Goto fatalRegistry
  551.     EndIf
  552.     CloseRegKey $(HardNetCardKey)
  553.     CloseRegKey $(KeyAdapterRules)
  554.     Goto writeParameters
  555. writeParameters = +
  556.     IfInt $(BoardType) == 1
  557. ; ISA
  558.         Set NewValueList = {{BusType,$(NoTitle),$(!REG_VT_DWORD),1},+
  559.                             {Debug,$(NoTitle),$(!REG_VT_DWORD),33025},+
  560.                             {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNum)},+
  561.                             {IoBaseAddress,$(NoTitle),$(!REG_VT_DWORD),$(IOAddrValue)}}
  562.     Else
  563. ; MCA
  564.         Set NewValueList = {{BusType,$(NoTitle),$(!REG_VT_DWORD),3},+
  565.                             {Debug,$(NoTitle),$(!REG_VT_DWORD),33025},+
  566.                             {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNum)},+
  567.                             {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(IOAddrValue)}}
  568.     EndIf
  569.     Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)\
  570.     CloseRegKey $(KeyParameters)
  571.     IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  572.         Debug-Output "WaveLAN: Cannot run AddValueList: KeyParameters"
  573.         Goto ShellCodeError
  574.     EndIf
  575.     Set RegistryErrorIndex = $($R0)
  576.     IfStr(i) $(RegistryErrorIndex) != NO_ERROR
  577.         Debug-Output "WaveLAN: AddValueList: KeyParameters ERROR="$(RegistryErrorIndex)
  578.         Goto fatalRegistry
  579.     EndIf
  580.     EndWait
  581.     IfInt $(BoardType) == 3
  582.         Goto doNextAdapter
  583.     EndIf
  584.     Goto successful
  585. BindingAdapter =+
  586.     Set Error =  "WaveLAN: Setup does not support binding."
  587.     Debug-Output $(Error)
  588.     Goto fatal
  589. RemoveAdapter = +
  590.     Debug-Output "WaveLAN: RemoveAdapter"
  591.     IfStr(i) $(ProductKeyName) == $(!NTN_RegBase)
  592.         Debug-Output "WaveLAN: Calling RemoveSoftwareComponent"
  593.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  594.             $(ProductSoftwareName)
  595.         IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  596.             Debug-Output "WaveLAN: Cannot run RemoveSoftwareComponent"
  597.             Goto ShellCodeError
  598.         EndIf
  599.         Set RegistryErrorIndex = $($R0)
  600.         IfStr(i) $(RegistryErrorIndex) != NO_ERROR
  601.             Debug-Output "WaveLAN: RemoveSoftwareComponent ERROR="$($R0)
  602.             Goto fatalRegistry
  603.         EndIf
  604.     Else
  605.         Debug-Output "WaveLAN: Calling RemoveHardwareComponent"
  606.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  607.             $(ProductHardwareName), $(!NTN_RegBase)
  608.         IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  609.             Debug-Output "WaveLAN: Cannot run RemoveHardwareComponent"
  610.             Goto ShellCodeError
  611.         EndIf
  612.         Set RegistryErrorIndex = $($R0)
  613.         IfStr(i) $(RegistryErrorIndex) != NO_ERROR
  614.             Debug-Output "WaveLAN: RemoveHardwareComponent ERROR="$($R0)
  615.             Goto fatalRegistry
  616.         EndIf
  617.     EndIf
  618.     Goto end
  619. UpgradeSoftware = +
  620.     Debug-Output "WaveLAN: UpgradeSoftware"
  621.     IfStr(i) $(ProductKeyName) == $(!NTN_RegBase)
  622.         OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  623.         IfStr $(KeyProduct) != $(KeyNull)
  624.             GetRegValue $(KeyProduct),"MajorVersion", VersionInfo
  625.             Set Version = *($(VersionInfo), 4)
  626.             Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct)
  627.             IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  628.                 Debug-Output "WaveLAN: Cannot run GetInfFileNameFromRegistry"
  629.                 Goto ShellCodeError
  630.             EndIf
  631.             Set !UG_Filename = $($R0)
  632.             IfStr(i) $(!UG_Filename) != ""
  633.                 install "Install-Update"
  634.                 IfStr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  635.                     Debug-Output "WaveLAN: Install ERROR="$(STF_INSTALL_OUTCOME)
  636.                     Goto fatal
  637.                 EndIf
  638.             EndIf
  639.             SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
  640.             SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
  641.             IfInt $(Version) != $(ProductVersion)
  642.             EndIf
  643.             CloseRegKey $(KeyProduct)
  644.         Else
  645.             Debug-Output "WaveLAN: KeyProduct ERROR="$(KeyProduct)
  646.             Goto fatalRegistry
  647.         EndIf
  648.     Else
  649.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) +
  650.                 $(MAXIMUM_ALLOWED) NetworkCardKey
  651.         IfStr(i) $(NetworkCardKey) != $(KeyNull)
  652.             GetRegValue $(NetworkCardKey),"ServiceName", ServiceNameInfo
  653.             Set ServiceName = *($(ServiceNameInfo), 4)
  654.             OpenRegKey $(NetworkCardKey) "" "NetRules" +
  655.                 $(MAXIMUM_ALLOWED) NetRuleKey
  656.             IfStr(i) $(NetRuleKey) != $(KeyNull)
  657.             Else
  658.                 Debug-Output "WaveLAN: NetKeyRule ERROR="$(NetKeyRule)
  659.                 Goto fatalRegistry
  660.             EndIf
  661.             CloseRegKey $(NetRules)
  662.             CloseRegKey $(NetworkCardKey)
  663.         Else
  664.             Debug-Output "WaveLAN: NetworkCardKey ERROR="$(NetworkCardKey)
  665.             Goto fatalRegistry
  666.         EndIf
  667.         OpenRegKey $(!REG_H_LOCAL) "" +
  668.                 $(!NTN_ServiceBase)"\"$(ServiceName) +
  669.                 $(MAXIMUM_ALLOWED) ServiceKey
  670.         IfStr(i) $(ServiceKey) != $(KeyNull)
  671.             CloseRegKey $(ServiceKey)
  672.         Else
  673.             Debug-Output "WaveLAN: ServiceKey ERROR="$(ServiceKey)
  674.             Goto fatalRegistry
  675.         EndIf
  676.     EndIf
  677.     Goto end
  678. successful = +
  679.     Goto end
  680. abandon = +
  681.     ForListDo $(OEM_ABANDON_OPTIONS)
  682.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  683.             $(ProductSoftwareName), $($)
  684.         IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  685.             Debug-Output "WaveLAN: Cannot run RemoveHardwareComponent"
  686.             Goto ShellCodeError
  687.         EndIf
  688.         Set RegistryErrorIndex = $($R0)
  689.         IfStr(i) $(RegistryErrorIndex) != NO_ERROR
  690.             Debug-Output "WaveLAN: RemoveHardwareComponent ERROR="$(RegistryErrorIndex)
  691.             Goto fatalRegistry
  692.         EndIf
  693.     EndForListDo
  694.     IfStr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
  695.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  696.             $(ProductSoftwareName), FALSE
  697.         IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  698.             Debug-Output "WaveLAN: Cannot run RemoveSoftwareComponent"
  699.             Goto ShellCodeError
  700.         EndIf
  701.         Set RegistryErrorIndex = $($R0)
  702.         IfStr(i) $(RegistryErrorIndex) != NO_ERROR
  703.             Debug-Output "WaveLAN: RemoveSoftwareComponent ERROR="$(RegistryErrorIndex)
  704.             Goto fatalRegistry
  705.         EndIf
  706.     EndIf
  707.     Goto end
  708. warning = +
  709.     Shell $(SubRoutineInf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  710.     IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  711.         Debug-Output "WaveLAN: Cannot run SetupMessage"
  712.         Goto ShellCodeError
  713.     EndIf
  714.     IfStr(i) $($R1) == "OK"
  715.         Debug-Output "WaveLAN: WARNING goto "$(to)
  716.         Goto $(to)
  717.     Else-IfStr(i) $($R1) == "CANCEL"
  718.         Debug-Output "WaveLAN: WARNING goto "$(from)
  719.         Goto $(from)
  720.     Else
  721.         Debug-Output "WaveLAN: WARNING goto end"
  722.         Goto end
  723.     EndIf
  724. nonFatalInfo = +
  725.     Set CommonStatus = STATUS_USERCANCEL
  726.     Set Severity = STATUS
  727.     Goto nonFatalMsg
  728. nonFatal = +
  729.     Set Severity = nonFatal
  730.     Goto nonFatalMsg
  731. nonFatalMsg = +
  732.     IfStr(i) $(Error) == ""
  733.         Set Severity = nonFatal
  734.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  735.         IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  736.             Debug-Output "WaveLAN: Cannot run RegistryErrorString"
  737.             Goto ShellCodeError
  738.         EndIf
  739.         Set Error = $($R0)
  740.     EndIf
  741.     Shell $(SubRoutineInf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  742.     IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  743.         Debug-Output "WaveLAN: Cannot run SetupMessage"
  744.         Goto ShellCodeError
  745.     EndIf
  746.     IfStr(i) $($R1) == "OK"
  747.         Debug-Output "WaveLAN: NONFATAL goto "$(from)
  748.         Goto $(from)
  749.     Else
  750.         Debug-Output "WaveLAN: NONFATAL goto end"
  751.         Goto end
  752.     EndIf
  753. fatalRegistry = +
  754.     Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  755.     IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  756.         Debug-Output "WaveLAN: Cannot run RegistryErrorString"
  757.         Goto ShellCodeError
  758.     EndIf
  759.     Set Error = $($R0)
  760.     Goto fatal
  761. fatalDetect = +
  762.     Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT
  763.     IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  764.         Debug-Output "WaveLAN: Cannot run RegistryErrorString"
  765.         Goto ShellCodeError
  766.     EndIf
  767.     Set Error = $($R0)
  768.     Goto fatal
  769. fatal = +
  770.     IfStr(i) $(Error) == ""
  771.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  772.         IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  773.             Debug-Output "WaveLAN: Cannot run RegistryErrorString"
  774.             Goto ShellCodeError
  775.         EndIf
  776.         Set Error = $($R0)
  777.     EndIf
  778.     Shell $(SubRoutineInf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  779.     IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  780.         Debug-Output "WaveLAN: Cannot run SetupMessage"
  781.         Goto ShellCodeError
  782.     EndIf
  783.     Goto SetFailed
  784. ShellCodeError = +
  785.     Set DlgType      = "MessageBox"
  786.     Set STF_MB_TITLE = "Error: "$(FunctionTitle)
  787.     Set STF_MB_TEXT  = "Shell Code Error"
  788.     Set STF_MB_TYPE  = 1
  789.     Set STF_MB_ICON  = 3
  790.     Set STF_MB_DEF   = 1
  791.     UI Start "Error Message"
  792.     Goto SetFailed
  793. SetFailed = +
  794.     Set CommonStatus = STATUS_FAILED
  795.     IfStr(i) $(OEM_ABANDON_ON) == TRUE
  796.         Set OEM_ABANDON_ON = FALSE
  797.         Goto abandon
  798.     EndIf
  799.     Goto end
  800. end = +
  801.     Goto term
  802. term = +
  803.     Set !DebugOutputControl    = 0
  804.     Return $(CommonStatus)
  805.  
  806. [DebugConfiguration]
  807.     Debug-Output "WaveLAN: CONFIGURATION:     "$($0)
  808.     Debug-Output "WaveLAN: IOAddrValue        "$(!p:IOAddrValue)
  809.     Return
  810.  
  811. [Install-Option]
  812.     Set STF_VITAL = ""
  813.     IfStr(i) $(AddCopy) == "YES"
  814.         AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  815.     EndIf
  816.     IfStr(i) $(DoCopy) == "YES"
  817.         Set !STF_NCPA_FLUSH_COPYLIST = TRUE
  818.         CopyFilesInCopyList
  819.     EndIf
  820.     IfStr(i) $(DoConfig) == "YES"
  821.     EndIf
  822.     Exit
  823.  
  824. [Install-Update]
  825.     Set STF_VITAL        = ""
  826.     Set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  827.     AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  828.     AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
  829.     Set !STF_NCPA_FLUSH_COPYLIST = TRUE
  830.     CopyFilesInCopyList
  831.     exit
  832.  
  833. [Source Media Descriptions]
  834.     1 = "WaveLAN Setup Disk", TAGFILE = WaveLAN.sys
  835.  
  836. [Files-Inf]
  837.     1, oemSetnt.inf, SIZE=32768, RENAME=$(!UG_Filename)
  838.  
  839. [Files-WAVELAN_ISA]
  840.     1, WaveLAN.sys , SIZE=65536
  841.  
  842. [Files-WAVELAN_MCA]
  843.     1, WaveLAN.sys , SIZE=65536
  844.  
  845. [ProductType]
  846.     STF_PRODUCT                    = winNT
  847.     STF_PLATFORM                = i386
  848.  
  849. [Options]
  850.     WAVELAN_ISA
  851.     WAVELAN_MCA
  852.  
  853. [LanguagesSupported]
  854.     ENG
  855.  
  856. [OptionsTextENG]
  857.     WAVELAN_ISA                    = "WaveLAN ISA Bus Adapter"
  858.     WAVELAN_MCA                    = "WaveLAN MCA Bus Adapter"
  859.  
  860. [FileConstantsENG]
  861.     ProCaption                   = "Windows NT Setup"
  862.     ProCancel                    = "Cancel"
  863.     ProCancelMsg                 = "Windows NT Networking is not correctly installed.  "+
  864.                                   "Are you sure you want to cancel copying files?"
  865.     ProCancelCap                 = "Network Setup Message"
  866.     ProText1                     = "Copying:"
  867.     ProText2                     = "To:"
  868.     FunctionTitle               = "WaveLAN Adapter Setup"
  869.     ProductSoftwareDescription  = "WaveLAN Adapter Driver"
  870.     ProductHardwareDescription  = "WaveLAN "$(Option)
  871.  
  872. [DialogConstantsENG]
  873.     Help                        = "&Help"
  874.     Exit                        = "Cancel"
  875.     OK                          = "OK"
  876.     HelpContext                 = ""
  877.     Continue                    = "Continue"
  878.     Cancel                      = "Cancel"
  879.  
  880. [FileDependentDlgENG]
  881.     DlgTemplate                 = "SINGLE_COMBO"
  882.     DlgType                     = "RadioCombination"
  883.     Caption                     = $(FunctionTitle)
  884. ;    Combo1Label                 = "I/O &Port Address:"
  885.     Label1                         = $(Combo1Label)
  886.     Combo1List                     = $(IOAddrHexList)
  887.     Combo1Out                      = $(IOAddrHexValue)
  888.     ComboListItemsIn              = {Combo1List}
  889.     ComboListItemsOut             = {Combo1Out}
  890.     EditTextIn                     = ""
  891.     EditTextLim                 = ""
  892.     CBOptionsGreyed             = {}
  893.     NotifyFields                = {NO, NO, NO, NO}
  894.     HelpContext                    = $(!IDH_DB_OEMSETUP_INS)
  895.  
  896.  
  897.  
  898.